Skip to content

fix(design): renumber colliding ledger ids DL-327..330 to DL-334..337 - #934

Closed
rigel-mintaka wants to merge 1 commit into
mainfrom
compass-server/ledger-id-collision
Closed

fix(design): renumber colliding ledger ids DL-327..330 to DL-334..337#934
rigel-mintaka wants to merge 1 commit into
mainfrom
compass-server/ledger-id-collision

Conversation

@rigel-mintaka

@rigel-mintaka rigel-mintaka commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

This PR is part of a stack containing 2 PRs:

  1. main
  2. "fix(design): renumber colliding ledger ids DL-327..330 to DL-334..337" (this PR)
  3. chore(secrets): bump secretspec to v0.20, thread an audit reason, and stage an age-capable CLI (RIG-3320) #916

main is red on design-ledger-gate:check: the delivery→EventFabric cutover
record's ledger block (merged as #905) claimed DL-327..333, but four of those
ids were already taken by records that merged first, so the ledger carries four
duplicates and the gate fails on every branch rebased onto current main.
Because the pre-push gate runs moon ci, this blocks every lane's submit — and
a stale clone still reads green, so it is easy to miss.

The four cutover rows move to the free tail; the earlier claimants keep their
ids because already-merged records cite them and other lanes implement from
those citations.

id kept by cutover row moved to
DL-327 SubjectService token principal (#868) DL-334 (OQ-1 ack timing)
DL-328 gateway-credentials at-rest encryption (#859) DL-335 (OQ-2 callback)
DL-329 compass-stack supervision DL-336 (OQ-3 p1 DB role)
DL-330 apple-container macOS runner DL-337 (OQ-3 p2 recovery)

DL-331/332/333 were already unique and keep their ids, so the cutover block is
now contiguous at DL-331..337. Its record's Ledger-impact line and the four
in-prose references are updated to match, including the DL-333 row's own
citation of the reconnect trigger it rests on (DL-330 → DL-337).

A > Ledger note above the Transport table records the mapping and its cause,
matching the existing notes for DL-325 and DL-187..190. The note is the part
that survives: #905's merged commit message and PR body still cite DL-327..330
for these rulings, and neither can be rewritten, so a reader arriving from that
PR or a blame trail resolves the stale numbers through the note.

No ruling text is altered — this is an identifier reconciliation.

Verified: the ledger parses to 304 rows with zero duplicate ids (previously
four), design-ledger-gate reports OK across 304 rows and 126 record headers,
and markdownlint is clean.

Ledger-impact: renumbers DL-327..330 to DL-334..337; no ruling changes.

Refs RIG-3107

Co-authored-by: Matt Wilkinson matt@rigel.build

`main` is red on `design-ledger-gate:check`: the delivery→EventFabric cutover
record's ledger block (merged as #905) claimed DL-327..333, but four of those
ids were already taken by records that merged first, so the ledger carries four
duplicates and the gate fails on every branch rebased onto current `main`.
Because the pre-push gate runs `moon ci`, this blocks every lane's submit — and
a stale clone still reads green, so it is easy to miss.

The four cutover rows move to the free tail; the earlier claimants keep their
ids because already-merged records cite them and other lanes implement from
those citations.

| id | kept by | cutover row moved to |
| --- | --- | --- |
| DL-327 | SubjectService token principal (#868) | DL-334 (OQ-1 ack timing) |
| DL-328 | gateway-credentials at-rest encryption (#859) | DL-335 (OQ-2 callback) |
| DL-329 | compass-stack supervision | DL-336 (OQ-3 p1 DB role) |
| DL-330 | apple-container macOS runner | DL-337 (OQ-3 p2 recovery) |

DL-331/332/333 were already unique and keep their ids, so the cutover block is
now contiguous at DL-331..337. Its record's `Ledger-impact` line and the four
in-prose references are updated to match, including the DL-333 row's own
citation of the reconnect trigger it rests on (DL-330 → DL-337).

A `> Ledger note` above the Transport table records the mapping and its cause,
matching the existing notes for DL-325 and DL-187..190. The note is the part
that survives: #905's merged commit message and PR body still cite DL-327..330
for these rulings, and neither can be rewritten, so a reader arriving from that
PR or a blame trail resolves the stale numbers through the note.

No ruling text is altered — this is an identifier reconciliation.

Verified: the ledger parses to 304 rows with zero duplicate ids (previously
four), `design-ledger-gate` reports OK across 304 rows and 126 record headers,
and markdownlint is clean.

Ledger-impact: renumbers DL-327..330 to DL-334..337; no ruling changes.

Refs RIG-3107

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@linear-code

linear-code Bot commented Sep 6, 2026

Copy link
Copy Markdown

RIG-3107

@trunk-io

trunk-io Bot commented Sep 6, 2026

Copy link
Copy Markdown

Merging to main in this repository is managed by Trunk.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-server-ledger-id-col.compass-eng-docs.pages.dev

Deployed from compass-server/ledger-id-collision at 8824faf.

Changed pages:

@rigel-mintaka

Copy link
Copy Markdown
Contributor Author

Superseded by #927, which fixed the same DL-327..330 collision from the compass-managed lane and merged first, carrying its own annotate-don't-rewrite note in the cutover record. origin/main now parses with zero duplicate ids, so this PR is redundant — and keeping it would revert #927's note in favour of mine. Closing unmerged; no follow-up needed.

Only difference worth recording: #927 placed the ledger note in the cutover record while this PR placed it above the Transport table in DECISIONS.md. #927's placement is the one that survives.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant